#pragma once
#include <vector>
#include <SFML/Graphics/Color.hpp>
#include <SFML/System/Vector2.hpp>
#include <nice2d/component.h>

class MovePointSearcher : public Component
{
public:
    MovePointSearcher(NodePointer object = nullptr);
    ~MovePointSearcher();
public:
    std::vector<sf::Vector2i> search(std::shared_ptr<TileMap>,const sf::Vector2i &tilePosition,
                                     const sf::Color &country,
                                     uint8_t spriteType, bool zoc = false);
    std::vector<sf::Vector2i> getMovingSequences(const sf::Vector2i &to);
private:
    std::unique_ptr<class MovePointSearcherData> data;
};
